package com.mc.moring.bean

/**
 *
 * @ProjectName:    Monicash
 * @Package:        com.moring.moring.bean
 * @ClassName:      LoanCalLoanDataBean
 * @Author:         ANWEN
 * @CreateDate:     2024/1/9 23:35
 * @UpdateUser:
 * @UpdateDate:     2024/1/9 23:35
 * @UpdateRemark:
 * @Version:
 */
data class LoanCalLoanDataBean(
    val code: String,
    val `data`: Data,
    val msg: String
)

data class Data(
    val applyAmount: Int,
    val commitmentActivityRegistrationFee: Int,
    val customerName: String,
    val dayPenaltyAmount: String,
    val everyCommitmentActivityRegistrationFee: List<Int>,
    val everyPeriodRepayAmount: String,
    val everyPeriodVipPurchaseAmount: List<Int>,
    val interestDeduction: Any,
    val loanInfoVoList: List<LoanInfoVo>,
    val loanInfoVoListLastDiscount: List<Any>,
    val paymentId: Any,
    val periods: Int,
    val productId: Int,
    val productIndex: String,
    val reduceInterestAmount: Any,
    val taxFee: String,
    val techServiceFee: String,
    val totalInterestAmount: String,
    val totalLimitDays: Int,
    val totalPostFeeAmount: String,
    val totalPreFeeAmount: String,
    val totalReceiveAmount: String,
    val vipPurchaseAmount: Int
)

data class LoanInfoVo(
    val actualRepaidInterest: Int,
    val afterExtendDueDate: Any,
    val afterExtendInterestAmount: Any,
    val afterExtendTotalSurplusRepayAmount: Any,
    val afterSurplusPenaltyAmount: Any,
    val amount: Int,
    val appId: Any,
    val appVersion: Any,
    val applyAmount: Int,
    val applyCoolDownHours: Int,
    val bankAccountNo: Any,
    val bankCardNo: Any,
    val beforSurplusPrincipalAmount: Any,
    val beforeSurplusInterestAmount: Any,
    val commitmentActivityRegistrationFee: Int,
    val createTime: String,
    val currentPeriodTotalSurplusAmount: Double,
    val customerId: String,
    val customerName: Any,
    val deductionAmountForExl: Any,
    val dueDate: String,
    val earlySettlementInterestServiceFee: Any,
    val earlySettlementRate: Any,
    val earlySettlementStatus: Any,
    val extendAmount: Any,
    val extendPrincipalAmount: Any,
    val extendStatus: Int,
    val extendValid: Int,
    val fieldsMap: Map<String, String>,
    val fieldsMapNew: Map<String, String>,
    val fieldsMapSeq: Map<String, String>,
    val finishTime: Any,
    val firstExtendDate: Any,
    val fromInterface: String,
    val groupId: Any,
    val hasExtend: Any,
    val hasPenaltyFree: Int,
    val interestAmount: Int,
    val interestRate: Double,
    val lendOutTime: Any,
    val limitDays: Int,
    val loanId: String,
    val mobile: Any,
    val noPenaltyDays: Any,
    val oldExtendFeeEveryPeriod: Any,
    val originalDueDate: Any,
    val otherFee: Int,
    val overdueDays: Any,
    val paidExciseDuty: Int,
    val paidFeeAmount: Int,
    val paidInterestAmount: Int,
    val paidLateRepaymentFee: Int,
    val paidPenaltyAmount: Int,
    val paidPenaltyInterest: Int,
    val paidPrincipalAmount: Int,
    val paymentId: Any,
    val paymentIndex: Int,
    val penaltyAmount: Int,
    val penaltyInterestRate: Double,
    val penaltyList: Any,
    val postLoanFee: Int,
    val postLoanFeeEachRepayment: Int,
    val postLoanFeeList: List<PostLoanFee>,
    val preLoanFee: Int,
    val preLoanFeeList: List<PreLoanFee>,
    val principalAmount: Int,
    val productId: String,
    val productName: String,
    val realSurplusExciseDuty: Int,
    val realSurplusLateRepaymentFee: Int,
    val realSurplusPenaltyAmount: Int,
    val realSurplusPenaltyInterest: Int,
    val remainingDays: Any,
    val repayOrder: Int,
    val returnedCharges: Any,
    val returnedTelephoneCharges: Any,
    val status: Int,
    val surplusExciseDuty: Int,
    val surplusFeeAmount: Int,
    val surplusInterestAmount: Int,
    val surplusLateRepaymentFee: Int,
    val surplusPenaltyAmount: Int,
    val surplusPenaltyInterest: Int,
    val surplusPrincipalAmount: Int,
    val taxFee: Int,
    val techServiceFee: Int,
    val totalExciseDuty: Int,
    val totalLateRepaymentFee: Int,
    val totalPaidAmount: Int,
    val totalPenaltyInterest: Int,
    val totalRepayAmount: Int,
    val totalSurplusRepayAmount: Any,
    val updateTime: String,
    val vipPurchaseAmount: Int,
    val vipRepayAmount: Any,

    var isSelector: Boolean,
    var periods: Int
)

data class PostLoanFee(
    val billingTime: String,
    val finalFee: Int,
    val fixedCharge: Double,
    val name: String,
    val rate: Double
)

data class PreLoanFee(
    val billingTime: String,
    val finalFee: Int,
    val fixedCharge: Int,
    val name: String,
    val rate: Double
)

data class LoanInfoVoChild(val title: String, val money: String)